package field;

import player.Player;

public class Property extends Ownable{
	
	private int [] rentArray,pricearray;
	private int block, houseCount;
	private int buyBuildingPrice;
	
	public Property(String title, String subtitle, String desc, int fieldnmb, int[] pricearray, int[] rentarray) {
		super(title, subtitle, desc,pricearray[0], fieldnmb, pricearray[2], rentarray[0]);
		houseCount = 0;
		this.rentArray = new int[rentarray.length];
		this.pricearray = new int[pricearray.length];
		System.arraycopy(pricearray, 0, this.pricearray, 0, pricearray.length);
		System.arraycopy(rentarray, 0, this.rentArray, 0, rentarray.length);
		this.block = pricearray[3];
		buyBuildingPrice = pricearray[1];
	}
	
	
	/**
	 * Viser hvad de forskellige rents koster.
	 * plads 1=grund, plads 2=1 hus, plads3=2huse, plads4=3huse, plads5=4huse, plads6=5huse/hotel
	 */
	
	public int[] getRentArray(){
		return rentArray;
	}
	
	
	/**
	 * Viser de forskellige priser på feltet: 
	 * plads nr 1 = pris for grund, plads nr 2 = Pris for bygning, plads nr 3 = Pantsætning, plads nr 4 = block/farve
	 * @return
	 */
	
	public int[] getPriceArray(){
		return pricearray;
	}
		
	
	/**
	 * Viser ejeren af feltet
	 */
	public Player getOwner(){
		return owner;
	}
	
	/**
	 * Sætter ejeren af feltet
	 */
	public void setOwner(Player player){
		this.owner=player;
	}
	
	/**
	 * Sætter antallet af huse på ejendommen.
	 * @param n Antal huse på ejendommen
	 */
	public void setHouseCount(int n){
		houseCount = n;
	}
	
	/**
	 * Viser hvor mange huse ejendommen indeholder
	 * @return
	 */
	public int getHouseCount(){
		return houseCount;
	}
	
	/**
	 * Viser hvad hvert hus/hotel koster stykket
	 * @return
	 */
	public int getBuyBuildingPrice(){
		return buyBuildingPrice;
	}
	
	/**
	 * Viser hvad det koster at lande på feltet
	 * @return
	 */
	public int getRent(){
		return rentArray[houseCount];
	}
	
	
	
	public int getBlock(){
		return block;
	}
	
	

}
